From: Kalev Lember Date: Tue, 18 Feb 2014 21:17:58 +0000 (+0100) Subject: endSessionDialog: Fix the "Restart & Install" button X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~2732 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=7551e134da784599ae0ee8cfe536cfe3f687c9b5;p=gnome-shell.git endSessionDialog: Fix the "Restart & Install" button This moves the dialog type overriding that gnome-software uses to bring up restartInstallDialogContent from _sync() to OpenAsync(), in order to ensure the type is overridden early enough to show the correct buttons. While at this, make sure the & symbol in the button's label is escaped to avoid runtime warnings, now that the label actually gets used. https://bugzilla.gnome.org/show_bug.cgi?id=722898 --- diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js index c9ddce8db..7606d2471 100644 --- a/js/ui/endSessionDialog.js +++ b/js/ui/endSessionDialog.js @@ -116,7 +116,7 @@ const restartInstallDialogContent = { seconds).format(seconds); }, confirmButtons: [{ signal: 'ConfirmedReboot', - label: C_("button", "Restart & Install") }], + label: C_("button", "Restart & Install") }], iconName: 'view-refresh-symbolic', iconStyleClass: 'end-session-dialog-shutdown-icon', showOtherSessions: true, @@ -300,9 +300,6 @@ const EndSessionDialog = new Lang.Class({ if (!open) return; - if (this._type == 2 && this._updatesFile.query_exists(null)) - this._type = 3; - let dialogContent = DialogContent[this._type]; let subject = dialogContent.subject; @@ -545,6 +542,9 @@ const EndSessionDialog = new Lang.Class({ this._totalSecondsToStayOpen = totalSecondsToStayOpen; this._type = type; + if (this._type == 2 && this._updatesFile.query_exists(null)) + this._type = 3; + this._applications = []; this._applicationList.destroy_all_children();